1. Technical Field
The present invention relates to an improved method and system for providing access to a peripheral device within a data processing system in general and, in particular, to an improved method and system for providing access to a SCSI peripheral device within a data processing system. Still more particularly, the present invention relates to an improved method and system for providing access to a SCSI peripheral device by automatically providing termination on a SCSI I/O bus within a data processing system.
2. Description of the Related Art
To provide more reliable access to stored data, many conventional data processing systems now utilize high availability (HA) data storage subsystems. An HA data storage subsystem provides redundant controllers as alternate points of access to a data resource to improve the reliability with which the resource may be accessed. This use of redundancy allows either controller to be removed from the system and serviced while an alternate controller is in operation, providing access to stored data. In HA systems, data storage devices such as hard disk drives attach to a data processing system by connecting to an expansion or I/O (input-output) bus. I/O buses typically implement a bus standard such as the Small Computer System Interface (SCSI) to provide a communication interface between peripheral I/O devices and the data processing system to which they are coupled.
Data processing systems implementing the SCSI bus standard utilize a device called a controller, or interface adapter card, such as the ServeRAID II Ultra SCSI Adapter, developed by International Business Machines (IBM) Corporation of Armonk, N.Y., to communicate with peripheral devices over a SCSI bus. A controller card connects to a host within the data processing system through a card expansion slot while a channel located on the controller card is coupled to up to fifteen peripheral SCSI devices via a SCSI bus. For external devices, this is accomplished by connecting the channel to one end of a daisy chain of peripheral SCSI devices connected together using SCSI bus cable. While this bus structure allows peripheral devices to communicate with each other independently of the host, the open-air impedances present at the end of the chain of devices and at the controller create a reflective barrier to data and command signals. Signals reflected by these barriers interfere with subsequent signal transmissions, causing bus misoperation and frequently, SCSI bus failure. As a result, SCSI standards promulgated by the American National Standards Institute (ANSI) herein incorporated by reference (SCSI 1: X3.131-1986 and SCSI 2: X3.131.1994), require that the physical ends of SCSI buses be modified to prevent signal reflection.
Termination is an electrical requirement prescribed by the ANSI SCSI standard to prevent signal reflection and ensure proper SCSI bus operation. Termination is accomplished by connecting a circuit, the terminator, to the physical ends of the SCSI bus. The terminator provides an impedance that matches the impedance of the SCSI bus cable thereby preventing spurious reflected signals. In conventional, non-HA SCSI systems, a terminator is incorporated into the controller at one end of the bus, while a second terminator is connected to or incorporated into the final device in the SCSI chain. Power may be provided to either terminator by any device on the daisy chain. Termination power may be provided by an associated device or a remote device via a termination power line on the SCSI bus. The SCSI standard provides that termination must occur at and only at both ends of the SCSI bus.
The SCSI standard provides several methods for matching the impedance of a SCSI bus. The generally preferred termination method, known as active termination, uses a matched impedance (a 110 ohm resistor) on each signal line connected to a voltage regulator. In order to function properly, SCSI terminators must be connected within the maximum stub length, a specific distance defined by the ANSI SCSI standard, from the physical end of the SCSI bus. In many HA systems, termination is achieved utilizing onboard terminators incorporated into the controllers at either end of the SCSI bus.
In HA SCSI systems, difficulty arises in maintaining termination when a controller must be removed from the SCSI bus for servicing. Utilizing conventional SCSI termination methods, which provide termination at the controller, results in a loss of proper termination when either controller is disconnected. To keep SCSI buses properly terminated many systems utilize inline terminators as a solution.
One major drawback suffered by conventional inline terminators is exhibited when SCSI controllers containing long printed circuit board (PCB) bus traces or an internal channel routed to an external connector are utilized in HA systems. Both PCB traces and the internal cables used to route internal channels are frequently longer than the standard-defined four inch maximum stub length for single-ended SCSI buses. As a result, when a controller remains connected without onboard termination, conventional inline terminators fail to terminate the bus within the required distance from its physical end. If an inline terminator is utilized in conjunction with the onboard terminator of the SCSI controller, sometimes called "double termination", SCSI bus misoperation will also result. Finally, an activated inline terminator added to the end of the bus manually following the disconnection of a controller renders the SCSI bus temporarily unterminated and similarly susceptible to failure.
Consequently, it would be desirable to provide a method and system for automatically providing termination on a SCSI I/O bus while avoiding the above enumerated problems with conventional in-line termination.